标签
工具
字数
886 字
阅读时间
4 分钟
一、概述
SpringBoot的配置以后主要使用yml结尾的这种文件格式,并且在书写时可以通过提示的形式加载正确的格式。
YAML(YAML Ain't Markup Language),一种数据序列化格式。具有容易阅读、容易与脚本语言交互、以数据为核心,重数据轻格式的特点。常见的文件扩展名有两种:
- .yml格式(主流)
- .yaml格式
语法格式:
- 大小写敏感
- 属性层级关系使用多行描述,每行结尾使用冒号结束
- 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
- 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
- #号 表示注释
二、使用
2.1 常见的数据书写格式
YAML
boolean: TRUE #TRUE,true,True,FALSE,false,False均可
float: 3.14 #6.8523015e+5 #支持科学计数法
int: 123 #0b1010_0111_0100_1010_1110 #支持二进制、八进制、十六进制
null: ~ #使用~表示null
string: HelloWorld #字符串可以直接书写
string2: "Hello World" #可以使用双引号包裹特殊字符
date: 2018-02-17 #日期必须使用yyyy-MM-dd格式
datetime: 2018-02-17T15:02:31+08:00 #时间和日期之间使用T连接,最后使用+代表时区 此外,yaml格式中也可以表示数组,在属性名书写位置的下方使用减号作为数据开始符号,每行书写一个数据,减号与数据间空格分隔
YAML
subject:
- Java
- 前端
- 大数据
enterprise:
name: itcast
age: 16
subject:
- Java
- 前端
- 大数据
likes: [王者荣耀,刺激战场] #数组书写缩略格式
users: #对象数组格式一
- name: Tom
age: 4
- name: Jerry
age: 5
users: #对象数组格式二
-
name: Tom
age: 4
-
name: Jerry
age: 5
users2: [ { name:Tom , age:4 } , { name:Jerry , age:5 } ] #对象数组缩略格式2.2 springboot读取
通过@Value可以读取单个数据
属性名引用方式:${一级属性名.二级属性名……}。将该注解写在某一个指定的Spring管控的bean的属性名上方。
通过Environment读取全部数据
数据封装到了Environment对象中,获取属性时,通过Environment的接口操作进行,具体方法时getProperties(String),参数填写属性名即可。该对象可使用
@Autowired自动注入通过
@ConfigurationProperties读取一组数据首先定义一个对象,并将该对象纳入Spring管控的范围,也就是定义成一个bean,然后使用注解@ConfigurationProperties指定该对象加载哪一组yaml中配置的信息(通过prefix指定哪些前缀的数据注入到匹配的属性中)。
2.3 注意事项
数据引用
yaml数据中,也可以定义某一配置,通过${配置名}来引用该配置
数据包含转义字符
需要使用转义字符,需要将数据字符串使用双引号包裹起来。
数据类型转换问题
当输入的数据为字符串类型但是是纯数字时,需按对于数字的定义支持进制书写格式来书写,尤其是以0开头的,如需使用字符串使用引号。